/*
 * passgen.h
 *
 *  Created on: Nov 16, 2016
 *      Author: swolice
 */

#ifndef PASSGEN_H_
#define PASSGEN_H_

#include <iostream>
#include <random>
#include <algorithm>

class PassGen {
public:
	PassGen();
	~PassGen();

	PassGen(int len, int amt, bool smA, bool lgA, bool sym);

	void printPass(bool outMeta);
	void printMeta();

private:
	int length;
	int amount;
	bool lowercase;
	bool uppercase;
	bool symbols;

};

PassGen::PassGen() {
	length = 16;
	amount = 1;
	lowercase = false;
	uppercase = false;
	symbols = false;
}

PassGen::PassGen(int len, int amt, bool smA, bool lgA, bool sym) {
	if (len < 6) {
		length = 6;
	} else if (len > 256) {
		length = 256;
	} else {
		length = len;
	}

	if (amt < 1) {
		amount = 1;
	} else if (amt>1000) {
		amount=1000;
	} else {
		amount=amt;
	}

	lowercase=smA;
	uppercase=lgA;
	symbols=sym;
}

void PassGen::printPass(bool outMeta)
{
	if ((length>1)&&(outMeta)) {
		printMeta();
	}

	int i=0;
	for (i = 0; i < amount; i++) {
		std::random_device rd;
		std::mt19937 mt(rd());

		std
	}
}




#endif /* PASSGEN_H_ */
